home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / PROGRAMR / OLE2BOOK.ZIP / CHAP06.ZIP / CHAP06 / POLYLINE / IDATAOBJ.H < prev    next >
C/C++ Source or Header  |  1993-04-14  |  2KB  |  51 lines

  1. /*
  2.  * IDATAOBJ.H
  3.  * Polyline Component Object Chapter 6
  4.  *
  5.  * Definitions of a template IDataObject interface implementation.
  6.  *
  7.  * Copyright (c)1993 Microsoft Corporation, All Right Reserved
  8.  *
  9.  * Kraig Brockschmidt, Software Design Engineer
  10.  * Microsoft Systems Developer Relations
  11.  *
  12.  * Internet  :  kraigb@microsoft.com
  13.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  14.  */
  15.  
  16.  
  17. #ifndef _IDATAOBJ_H_
  18. #define _IDATAOBJ_H_
  19.  
  20.  
  21. class __far CImpIDataObject : public IDataObject
  22.     {
  23.     private:
  24.         ULONG           m_cRef;         //Interface reference count.
  25.         LPVOID          m_pObj;         //Back pointer to the object.
  26.         LPUNKNOWN       m_punkOuter;    //Controlling unknown for delegation
  27.  
  28.     public:
  29.         CImpIDataObject(LPVOID, LPUNKNOWN);
  30.         ~CImpIDataObject(void);
  31.  
  32.         //IUnknown members that delegate to m_punkOuter.
  33.         STDMETHODIMP         QueryInterface(REFIID, LPVOID FAR *);
  34.         STDMETHODIMP_(ULONG) AddRef(void);
  35.         STDMETHODIMP_(ULONG) Release(void);
  36.  
  37.         //IDataObject members
  38.         STDMETHODIMP GetData(LPFORMATETC, LPSTGMEDIUM);
  39.         STDMETHODIMP GetDataHere(LPFORMATETC, LPSTGMEDIUM);
  40.         STDMETHODIMP QueryGetData(LPFORMATETC);
  41.         STDMETHODIMP GetCanonicalFormatEtc(LPFORMATETC, LPFORMATETC);
  42.         STDMETHODIMP SetData(LPFORMATETC, STGMEDIUM FAR *, BOOL);
  43.         STDMETHODIMP EnumFormatEtc(DWORD, LPENUMFORMATETC FAR *);
  44.         STDMETHODIMP Advise(FORMATETC FAR *, DWORD,  LPADVISESINK, DWORD FAR *);
  45.         STDMETHODIMP Unadvise(DWORD);
  46.         STDMETHODIMP EnumAdvise(LPENUMSTATDATA FAR *);
  47.     };
  48.  
  49.  
  50. #endif //_IDATAOBJ_H_
  51.